跳到主要内容

其它API

界面系统只提供了很有限的方法,因为大部分界面操作都可以通过绑定完成。

create

创建控件

  • 参数
  • 返回
    • ui (ui) - 控件
    • bind (bind) - 绑定

命名用于服务器修改界面

local ui, bind = base.ui.create(template, '背包')

add_child

添加子控件

  • 参数
    • child (ui) - 子控件
  • 返回
    • result (boolean) - 是否成功

将一个控件添加为另一个控件的子控件。

parent:add_child(child)

on_tick

帧事件

  • 参数
    • callback (function) - 回调函数
  • 回调参数
    • delta (number) - 经过的时间(毫秒)
  • 返回
    • destructor (function) - 销毁器

给控件注册回调函数,每帧都会调用这个函数。一个控件可以注册多个回调函数,当控件被移除后回调函数不再运行。你也可以主动调用销毁器来使这个回调函数不再运行。

local destroy
local total = 0
destroy = ui:on_tick(function (delta)
total = total + delta
if total > 1000 then
destroy()
end
end)

remove

移除

  • 返回
    • result (boolean) - 是否成功

移除一个控件以及它的所有子控件。

ui:remove()
local tri
base.next(function()
tri = base.ui.bind_unit(poi.hero, bind, 0, 50)
end)

get_image_wh

  • 返回
    • width (number) - UI图片的原始宽度
    • height (number) - UI图片的原始高度

当前帧无法获取到id,因此需要在下一帧调用
如果无图片返回0.0, 0.0

base.next(function()
local width, length = ui:get_image_wh()
end)

auto_scale

UI屏幕分辨率适配。参考分辨率为2340x1080, ui会根据实际分辨率和参考分辨的比值进行缩放。ui上固定像素值的属性如border, font的size, layout的width, height, position, relative, 都会乘上这个缩放值。

current_scale

  • 返回
    • result (number) - 当前UI的缩放值
base.ui.auto_scale.current_scale()